package com.sai.jsai.module.system.service;

import com.sai.jsai.common.base.vo.PageResult;
import com.sai.jsai.common.starter.mybatisplus.service.BaseService;
import com.sai.jsai.module.system.api.dto.SysRoleDTO;
import com.sai.jsai.module.system.controller.vo.SysRoleCreateReqVO;
import com.sai.jsai.module.system.controller.vo.SysRolePageReqVO;
import com.sai.jsai.module.system.dal.entity.SysRole;

import java.util.List;

/**
 * @author jisai
 * @version 0.0.1
 * @Description 系统角色服务实现类接口
 * @createTime 2024/09/24
 */
public interface SysRoleService extends BaseService<SysRole> {

    /**
     * 按角色ID列表获取角色列表
     *
     * @param sysRoleIds 角色ID列表
     * @return 角色列表
     */
    List<SysRoleDTO> listByIds(List<Long> sysRoleIds);

    /**
     * 创建角色
     *
     * @param createReqVO 创建角色参数
     * @return 创建后角色信息
     */
    SysRole create(SysRoleCreateReqVO createReqVO);

    /**
     * 分页查询角色列表
     *
     * @param pageReqVO 分页参数
     * @return 角色列表
     */
    PageResult<SysRole> page(SysRolePageReqVO pageReqVO);
}
